package org.example.myleet.p1610;

import org.example.myleet.Utils.Assert;
import org.example.myleet.Utils.JsonUtils;

import java.util.List;

public class Main {
    public static void main(String[] args) {
        Solution solution = new Solution();
        Assert.isTrue(3 == solution.visiblePoints(JsonUtils.parse("[[2,1],[2,2],[3,3]]", List.class), 90, JsonUtils.parse("[1,1]", List.class)));
        Assert.isTrue(4 == solution.visiblePoints(JsonUtils.parse("[[2,1],[2,2],[3,4],[1,1]]", List.class), 90, JsonUtils.parse("[1,1]", List.class)));
        Assert.isTrue(1 == solution.visiblePoints(JsonUtils.parse("[[1,0],[2,1]]", List.class), 13, JsonUtils.parse("[1,1]", List.class)));
        Assert.isTrue(8 == solution.visiblePoints(JsonUtils.parse("[[2,1],[2,2],[3,4],[1,1],[1,2],[0,10],[0,100],[0,99],[1,98]],[2,0]", List.class), 90, JsonUtils.parse("[1,1]", List.class)));
        Assert.isTrue(11 == solution.visiblePoints(JsonUtils.parse("[[60,61],[58,47],[17,26],[87,97],[63,63],[26,50],[70,21],[3,89],[51,24],[55,14],[6,51],[64,21],[66,33],[54,35],[87,38],[30,0],[37,92],[92,12],[60,73],[75,98],[1,11],[88,24],[82,92]]", List.class), 44, JsonUtils.parse("[15,50]", List.class)));
        Assert.isTrue(3 == solution.visiblePoints(JsonUtils.parse("[[1,1],[1,1],[1,1]]", List.class), 1, JsonUtils.parse("[1,1]", List.class)));
        Assert.isTrue(42 == solution.visiblePoints(JsonUtils.parse("[[46,50],[39,65],[18,3],[91,47],[73,59],[94,35],[44,62],[79,72],[75,57],[16,18],[82,42],[67,36],[49,15],[34,58],[7,13],[10,95],[99,88],[34,72],[53,64],[55,47],[60,29],[29,60],[78,11],[36,74],[8,25],[4,27],[91,95],[53,73],[55,86],[6,89],[62,39],[8,81],[96,82],[16,100],[15,95],[39,60],[70,15],[85,56],[78,12],[32,73],[76,99],[14,5],[94,81],[34,100],[64,76],[76,30],[39,10],[33,36],[99,48],[93,61],[22,38],[60,11],[8,70],[46,42],[55,35],[92,22],[2,29],[46,59],[31,63],[54,77],[18,85],[70,0],[15,17],[36,25],[79,83],[64,24],[64,98],[66,22],[84,97],[7,86],[79,86],[85,98],[87,6],[78,67],[74,32],[8,30],[90,45],[36,66],[26,52],[49,90],[49,89],[80,79],[76,26],[23,9],[53,91],[18,40],[7,70],[73,57],[40,22],[83,75],[18,22],[37,65],[3,52],[32,59],[41,33],[18,76],[4,58],[25,93],[47,78],[37,32],[70,23],[75,98],[75,24],[33,4],[16,92],[67,40],[92,100],[96,98],[53,63],[89,23],[91,1],[80,12],[78,28],[79,7],[46,39],[1,73],[30,27],[19,86],[1,87],[59,96],[46,46],[89,16],[79,6],[69,55]]", List.class), 80, JsonUtils.parse("[41,50]", List.class)));
    }
}
